Data link error feedback signaling

ABSTRACT

A data link error feedback signaling system includes a transmitting network device and a receiving network device. The receiving network device may be operable to receive a network data unit from the transmitting network device over a data link, detect an error in the network data unit, and provide data link integrity information based on the error to the transmitting network device. The receiving network device may provide the data link integrity information by marking the data link flawed in a routing protocol, transmitting the data link integrity information via an informational protocol, and so on. The transmitting network device may respond to the data link integrity information, such as by marking the data link less preferred, marking the data link down, transmitting an alarm regarding the data link to a network operator, omitting taking an action upon determining that errors are below an error threshold, and so on.

CROSS-REFERENCE TO RELATED APPLICATION(S)

This application is a continuation patent application of U.S. patentapplication Ser. No. 16/896,290, filed Jun. 9, 2020 and titled “DataLink Error Feedback Signaling,” the disclosure of which is herebyincorporated herein by reference in its entirety.

FIELD

The described embodiments relate generally to networking. Moreparticularly, the present embodiments relate to data link error feedbacksignaling.

BACKGROUND

As time goes on, the number of network devices continues to grow. Suchnetwork devices include smart phones, laptop computing devices, desktopcomputing devices, server computing devices, digital media players,smart doorbells, smart thermostats, routers, hubs, switches, wearabledevices, mobile computing devices, tablet computing devices, smartkitchen appliances, smart laundry machines, and so on. The variousnetworks that interconnect such devices also continue to grow, as wellas the data traffic on such networks.

SUMMARY

The present disclosure relates to data link error feedback signaling. Adata link error feedback signaling system includes a transmittingnetwork device and a receiving network device. The receiving networkdevice may be operable to receive a network data unit from thetransmitting network device over a data link, detect an error in thenetwork data unit, and provide data link integrity information based onthe error to the transmitting network device. The receiving networkdevice may provide the data link integrity information by marking thedata link flawed in a routing protocol, transmitting the data linkintegrity information via an informational protocol, and so on. Thetransmitting network device may respond to the data link integrityinformation, such as by marking the data link less preferred, markingthe data link down, transmitting an alarm regarding the data link to anetwork operator, omitting taking an action upon determining that errorsare below an error threshold, and so on.

In various embodiments, a data link error feedback signaling systemincludes a transmitting network device and a receiving network device.The receiving network device is operable to receive a network data unitfrom the transmitting network device over a data link, detect an errorin the network data unit, and provide data link integrity informationbased on the error to the transmitting network device. The transmittingnetwork device responds to the data link integrity information.

In some examples, the receiving network device provides the data linkintegrity information by at least one of marking the data link flawed ina routing protocol or transmitting the data link integrity informationvia an informational protocol. In a number of examples, the transmittingnetwork device responds to the data link integrity information by atleast one of marking the data link less preferred, marking the data linkdown, transmitting an alarm regarding the data link to a networkoperator, or omitting taking an action upon determining that errors arebelow an error threshold. In various examples, the receiving networkdevice detects the error using at least one of a cyclic redundancy checkor a checksum. In a number of examples, at least one of the receivingnetwork device or the transmitting network device is a router.

In some embodiments, a receiving network device includes a communicationunit, a non-transitory storage medium that stores instructions, and aprocessor. The processor executes the instructions to receive a networkdata unit from a transmitting network device over a data link, detect anerror in the network data unit, and provide data link integrityinformation based on the error to the transmitting network device.

In various examples, the processor determines that the data link isflawed based on the error. In some examples, the processor detects theerror by performing a cyclic redundancy check on the network data unit.In a number of examples, the processor detects the error by evaluating achecksum of the network data unit.

In some examples, the processor provides the data link integrityinformation by marking the data link flawed in a routing protocol. Invarious implementations of such examples, the routing protocol is atleast one of an open shortest path first protocol, a border gatewayprotocol, or a bidirectional forwarding detection protocol.

In a number of examples, the processor provides the data link integrityinformation via an informational protocol. In some implementations ofsuch examples, the informational protocol is a link layer discoveryprotocol.

In various examples, the processor provides the data link integrityinformation as part of an aggregate of data corresponding to multiplenetwork data unit errors.

In a number of embodiments, a transmitting network device includes acommunication unit, a non-transitory storage medium that storesinstructions, and a processor. The processor executes the instructionsto transmit a network data unit to a receiving network device over adata link, receive data link integrity information from the receivingnetwork device based on an error detected in the network data unit bythe receiving network device, and respond to the data link integrityinformation.

In various examples, the processor responds to the data link integrityinformation by taking an action. In some implementations of suchexamples, the action includes marking the data link less preferred. In anumber of implementations of such examples, the action includes markingthe data link down.

In some examples, the processor responds to the data link integrityinformation by transmitting an alarm regarding the data link to anetwork operator. In various examples, the processor responds to thedata link integrity information by, when an error threshold is exceeded,performing an action and, when the error threshold is not exceeded, omitperforming the action.

BRIEF DESCRIPTION OF THE DRAWINGS

The disclosure will be readily understood by the following detaileddescription in conjunction with the accompanying drawings, wherein likereference numerals designate like structural elements.

FIG. 1 depicts an example system for data link error feedback signaling.

FIG. 2 depicts a flow chart illustrating a first example method for datalink error feedback signaling. This method may be performed by thesystem of FIG. 1 .

FIG. 3 depicts a flow chart illustrating a second example method fordata link error feedback signaling. This method may be performed by thesystem of FIG. 1 .

FIG. 4 depicts a flow chart illustrating a third example method for datalink error feedback signaling. This method may be performed by thesystem of FIG. 1 .

FIG. 5 depicts example relationships among example components that maybe used to implement a data link error feedback signaling system. Thedata link error feedback signaling system may be the system of FIG. 1 .

DETAILED DESCRIPTION

Reference will now be made in detail to representative embodimentsillustrated in the accompanying drawings. It should be understood thatthe following descriptions are not intended to limit the embodiments toone preferred embodiment. To the contrary, it is intended to coveralternatives, modifications, and equivalents as can be included withinthe spirit and scope of the described embodiments as defined by theappended claims.

The description that follows includes sample systems, methods,apparatuses, and computer program products that embody various elementsof the present disclosure. However, it should be understood that thedescribed disclosure may be practiced in a variety of forms in additionto those described herein.

Network devices may transmit data via one or more data links (such asfiber optic data links, wireless data links, and so on) and/or othernetwork devices. For example, a transmitting network device or “head”may determine to transmit a network data unit (a formatted unit of datacarried by a network, typically including control information and apayload and/or user data, such as an internet protocol and/or otherpacket, an Ethernet frame, and so on) to a receiving network device or“tail”, consult a routing table or other mechanism regarding a data linkto use for the transmission, and transmit the network data unit via thedata link. The data link may connect the transmitting network device andthe receiving network device, and/or the data link may connect thetransmitting network device and an intermediate network device. In thelatter situation, the intermediate network device may forward thenetwork data unit to the receiving network device via one or more otherdata links and/or other intermediate network devices.

Modern network routing includes no mechanism to signal that a router orendpoint network electronic device received errors along a transmissionpath of data. For example, a dirty fiber optic cable and/or other datalink issue may cause a data link to be flawed, resulting in a degradedtransmission signal that may introduce errors into a network data unit.A head network electronic device may determine a transmission path for anetwork data unit sent from the head to a tail network electronic deviceand the tail may detect if errors occur as it may perform one or moreerror checks on the received network data unit, but the tail has nomechanism to communicate this to the head so that the head may adjustfor a path with errors.

To ameliorate this issue, a receiving network device in a data linkerror feedback signaling system may determine that an error occurred ina network data unit received over a data link from a transmittingnetwork device (such as by using a cyclic redundancy check or “CRC’, achecksum, and so on) and provide data link integrity information to thetransmitting network device, informing the transmitting network deviceof the received error. For example, the transmitting network device mayprovide the data link integrity information by marking the data linkflawed in a routing protocol such as OSPF (“open shortest path first”),BGP (“border gateway protocol”), BFD (“bidirectional forwardingdetection”), and so on. By way of another example, the transmittingnetwork device may provide the data link integrity information byproviding information in an informational protocol such as LLDP (“linklayer discovery protocol”) and so on. The receiving network device mayprovide the data link integrity information for each errored networkdata unit detected, periodically provide aggregated data on receivederrors, and so on.

The transmitting network device may receive the data link integrityinformation and determine whether or not to pursue an action. Such anaction may include marking the data link less preferred, marking thedata link down, transmitting an alarm for a network operator to take anaction on the data link, doing nothing because a threshold for a levelof unacceptable errors has not yet been reached, and so on.

As such, this application may extend existing internet protocol and/orother protocol routing to provide feedback to a transmitting networkdevice that a data link being used is resulting in errored network dataunits. In this way, the data link error feedback signaling system may beable to perform additional routing and/or transmission erroramelioration functions that the data link error feedback signalingsystem would not previously have been able to perform absent thetechnology disclosed herein. This may enable the data link errorfeedback signaling system to operate more efficiently while consumingfewer hardware and/or software resources as more resource consumingtechniques could be omitted. Further, these techniques may otherwiseimprove operation of the data link error feedback signaling system byreducing transmission errors, improving data transmission speed,reducing unnecessary network traffic, enabling adjustment of networktransmission to network conditions, and so on.

The following disclosure relates to data link error feedback signaling.A data link error feedback signaling system includes a transmittingnetwork device and a receiving network device. The receiving networkdevice may be operable to receive a network data unit from thetransmitting network device over a data link, detect an error in thenetwork data unit, and provide data link integrity information based onthe error to the transmitting network device. The receiving networkdevice may provide the data link integrity information by marking thedata link flawed in a routing protocol, transmitting the data linkintegrity information via an informational protocol, and so on. Thetransmitting network device may respond to the data link integrityinformation, such as by marking the data link less preferred, markingthe data link down, transmitting an alarm regarding the data link to anetwork operator, omitting taking an action upon determining that errorsare below an error threshold, and so on.

These and other embodiments are discussed below with reference to FIGS.1-5 . However, those skilled in the art will readily appreciate that thedetailed description given herein with respect to these Figures is forexplanatory purposes only and should not be construed as limiting.

FIG. 1 depicts an example system 100 for data link error feedbacksignaling. The system 100 may include one or more network devices, suchas one or more transmitting network devices 101, receiving networkdevices 102, and/or intermediate network devices A-E 103A-103E. Thenetwork devices may be any kind of network devices, such as smartphones, laptop computing devices, desktop computing devices, servercomputing devices, digital media players, smart doorbells, smartthermostats, routers, hubs, switches, wearable devices, mobile computingdevices, tablet computing devices, smart kitchen appliances, smartlaundry machines, and so on. The network devices may be operable tocommunicate via one or more data links A-J 104A-104J using one or moredifferent communication protocols, such as the internet protocol,Ethernet protocol, and so on. The data links A-J 104A-104J may be anykind of data link, such as fiber optic data links, wireless data links,and so on.

The receiving network device 102 may be operable to receive a networkdata unit (a formatted unit of data carried by a network, typicallyincluding control information and a payload and/or user data, such as aninternet protocol and/or other packet, an Ethernet frame, and so on)from the transmitting network device 101 over one or more of the datalinks A-J 104A-104J and/or one or more of the intermediate networkdevices A-E 103A-103E, detect one or more errors in the network dataunit, and provide data link integrity information based on the error(s)to the transmitting network device 101. The transmitting network device101 may respond to the data link integrity information.

For example, the transmitting network device 101 may determine totransmit a network data unit to the receiving network device 102;consult a routing table or other mechanism regarding one or more of thedata links A-J 104A-104J and/or one or more of the intermediate networkdevices A-E 103A-103E to use for the transmission, determine to transmitthe network data unit via a data link transmission path including thedata link A 104A, intermediate network device A 103A, data link C 104C,intermediate network device C 103C, and data link G 104G; and transmitthe network data unit accordingly. However, the receiving network device102 may detect one or more errors in the network data unit, determinethat the data link transmission path is flawed, and provide data linkintegrity information accordingly to the transmitting network device101. The transmitting network device 101 may respond in various ways,such as by instead using a data link transmission path including thedata link B 104B, the intermediate network device B 103B, data link E104E, intermediate network device E 103E, and data link J 104J.

Although a particular configuration of network devices and data linksA-J 104A-104J is illustrated and described, it is understood that thisis an example. By way of illustration, the transmitting network device101 is illustrated and described as a transmitting device because thetransmitting network device 101 transmits the network data unit in thisexample; the receiving network device 102 is illustrated and describedas a receiving device because the receiving network device 102 receivesthe network data unit in this example; and the intermediate networkdevices A-E 103A-103E are illustrated and described as intermediatedevices because the intermediate network devices A-E 103A-103E pass thenetwork data unit between the transmitting network device 101 and thereceiving network device 102 in this example. However, it is understoodthat this is an example. In any number of examples, any of these networkdevices may transmit one or more network data units (in which situationsuch a network device may be a transmitting device), receive one or morenetwork data units (in which situation such a network device may be areceiving device), pass one or more network data units between atransmitting device and a receiving device (in which situation such adevice may be an intermediate device and/or a receiving device), and soon. Further, multiple network devices may act as receiving devices asmultiple network devices may receive a network data unit and each maydetect one or more errors and/or provide data link integrity informationto one or more network devices involved in transmitting such networkdata units. Additionally, as multiple network data units may receivedata link integrity information, a transmitting device may receive datalink integrity information from multiple receiving devices. By way ofanother illustration, the example above illustrates and describestransmitting the network data unit via multiple data links A-J104A-104J. However, it is understood that this is an example. In someexamples, a network data unit may be transmitted over a single one ofthe data links A-J 104A-104J. Various configurations are possible andcontemplated without departing from the scope of the present disclosure.

The receiving network device 102 may detect one or more errors in thenetwork data unit in a variety of different ways. Examples of such errordetection include CRC, a checksum, and so on. The receiving networkdevice 102 may determine that a data link over which the network dataunit is received is flawed when such an error is detected, particularlywhen a network device that forwarded and/or otherwise transmitted thenetwork data unit to the receiving network device 102 via the data linkhad not previously detected such an error. Various configurations arepossible and contemplated without departing from the scope of thepresent disclosure.

The receiving network device 102 may provide the data link integrityinformation in a variety of ways. For example, the receiving networkdevice 102 may provide the data link integrity information by markingthe one or more of the data links A-J 104A-104J flawed in a routingprotocol. Such routing protocols may include OSPF, BGP, BFD, and so on.Marking the one or more of the data links A-J 104A-104J flawed in arouting protocol may result in such markings being communicated toand/or otherwise discovered by the transmitting network device 101,which may accordingly update a routing table and/or other mechanism,and/or perform one or more other actions. In other examples, thereceiving network device 102 may provide the data link integrityinformation by transmitting the data link integrity information via aninformational protocol. Such an informational protocol may include LLDPand/or another informational protocol. Transmitting the data linkintegrity information via an informational protocol may result in suchdata link integrity information being communicated to and/or otherwisediscovered by the transmitting network device 101, which may accordinglyupdate a routing table and/or other mechanism, and/or perform one ormore other actions. In still other examples, the receiving networkdevice 102 may provide the data link integrity information by usingother mechanisms. Various configurations are possible and contemplatedwithout departing from the scope of the present disclosure.

In some implementations, receiving network device 102 may provide thedata link integrity information each time that an error is detected in anetwork data unit. In other implementations, the receiving networkdevice 102 may provide the data link integrity information for anaggregate of data corresponding to multiple network data unit errors.For example, the receiving network device 102 may transmit the data linkintegrity information for the aggregate of data periodically (such asonce per minute, hour, and so on), upon occurrence of a condition (suchas when errors exceed an error threshold, such as when errors exceed 20,when errors occur in more than 50% of network data units received, andso on), and so on. Providing the data link integrity information lessregularly may cause the transmitting network device 101 to correctissues related to flawed transmission paths more slowly, but may be lessburdensome on network traffic due to the less frequent data linkintegrity communications. Various configurations are possible andcontemplated without departing from the scope of the present disclosure.

The transmitting network device 101 may respond to the data linkintegrity information in a variety of different ways. For example, thetransmitting network device 101 may respond to the data link integrityinformation by marking the one or more of the data links A-J 104A-104Jless preferred. This may enable the transmitting network device 101 tobe more likely to select unflawed data transmission paths, but stillhave flawed data transmission paths available in case unflawed datatransmission paths are unavailable, overburdened, and so on. By way ofanother example, the transmitting network device 101 may respond to thedata link integrity information by marking the one or more of the datalinks A-J 104A-104J down. This may enable the transmitting networkdevice 101 to prevent use of flawed transmission paths. In variousexamples, the transmitting network device 101 may mark the one or moredata links A-J 104A-104J down instead of less preferred based on theseverity of the errors, the availability of other transmission paths,and so on. In still another example, the transmitting network device 101may respond to the data link integrity information by transmitting analarm regarding the one or more of the data links A-J 104A-104J to anetwork operator. This may enable the transmitting network device 101 tohave flawed transmission paths corrected. In yet another example, thetransmitting network device 101 may respond to the data link integrityinformation by omitting taking an action upon determining that errorsare below an error threshold. This may enable the transmitting networkdevice 101 to avoid taking actions when the burden of taking the actionwould exceed the benefit, such as where errors are few, infrequent, andso on. In still other examples, the transmitting network device 101 mayrespond to the data link integrity information by performing variousautomatic configuration actions and/or other actions. Variousconfigurations are possible and contemplated without departing from thescope of the present disclosure.

Although the system 100 is illustrated and described as includingparticular components arranged in a particular configuration, it isunderstood that this is an example. In a number of implementations,various configurations of various components may be used withoutdeparting from the scope of the present disclosure.

For example, the system 100 is illustrated and described in the contextof an internet protocol network. However, it is understood that this isan example. In various implementations, the system 100 may utilize anykind of network, networks, and/or communication protocol. Variousconfigurations are possible and contemplated without departing from thescope of the present disclosure.

FIG. 2 depicts a flow chart illustrating a first example method 200 fordata link error feedback signaling. This method 200 may be performed bythe system 100 of FIG. 1 .

At operation 210, a receiving network device (such as the receivingnetwork device 102 and/or one or more of the intermediate networkdevices A-E 103A-103E of FIG. 1 ) may receive one or more network dataunits from one or more transmitting network devices (such as one or moreof the transmitting network device 101 and/or one or more of theintermediate network devices A-E 103A-103E of FIG. 1 ) over one or moredata links. The network data unit may be a formatted unit of datacarried by a network, typically including control information and apayload and/or user data, such as an internet protocol and/or otherpacket, an Ethernet frame, and so on.

At operation 220, the receiving network device may detect an error inthe network data unit. For example, the receiving network device maydetect the error in the network data unit using CRC, a checksum, and soon. In some examples, the receiving network device 102 may determinethat the data link is flawed based on the error.

At operation 230, the receiving network device may provide data linkintegrity information to the transmitting network device. For example,the transmitting network device may provide the data link integrityinformation by marking the data link flawed in a routing protocol suchas OSPF, BGP, BFD, and so on. By way of another example, thetransmitting network device may provide the data link integrityinformation by providing information in an informational protocol suchas LLDP and so on. The receiving network device may provide the datalink integrity information for each errored network data unit detected,periodically provide aggregated data on received errors, and so on.

At operation 240, the transmitting network device may determine whetheror not to take action on the data link integrity information. The actionmay include marking the data link less preferred, marking the data linkdown, transmitting an alarm for a network operator to take an action onthe data link, doing nothing because a threshold for a level ofunacceptable errors has not yet been reached, and so on.

In various examples, this example method 200 may be implemented as agroup of interrelated software modules or components that performvarious functions discussed herein. These software modules or componentsmay be executed within a cloud network and/or by one or more computingdevices, such as the receiving network device 102, one or more of theintermediate network devices A-E 103A-103E, and/or the transmittingnetwork device 101 of FIG. 1 .

Although the example method 200 is illustrated and described asincluding particular operations performed in a particular order, it isunderstood that this is an example. In various implementations, variousorders of the same, similar, and/or different operations may beperformed without departing from the scope of the present disclosure.

For example, the operation 240 is illustrated and described as thetransmitting network device determining whether or not to take action onthe data link integrity information. However, it is understood that thisis an example. In some implementations, the transmitting network devicemay take an automatic configuration action in response to the data linkintegrity information without determining whether or not to take such anaction. Various configurations are possible and contemplated withoutdeparting from the scope of the present disclosure.

In another example, the method 200 is illustrated and described asincluding both the operations performed by the receiving network deviceand the transmitting network device. However, it is understood that thisis an example. In some implementations, a method for data link errorfeedback signaling may include either the operations performed by thereceiving network device or the operations performed by the transmittingnetwork device without including both. Various configurations arepossible and contemplated without departing from the scope of thepresent disclosure.

By way of illustration, FIG. 3 depicts a flow chart illustrating asecond example method 300 for data link error feedback signaling. Thismethod 300 may be performed by the system 100 of FIG. 1 .

At operation 310, a network device (such as the receiving network device102 and/or one or more of the intermediate network devices A-E 103A-103Eof FIG. 1 ) may receive a network data unit from a transmitting networkdevice (such as the transmitting network device 101 and/or one or moreof the intermediate network devices A-E 103A-103E of FIG. 1 ) over adata link. At operation 320, the network device may determine whether ornot there is an error in the network data unit (such as using CRC, achecksum, and so on). If not, the flow may proceed to operation 340 andend. Otherwise, the flow may proceed to operation 330.

At operation 330, after the network device determines that there is anerror in the network data unit, the network device may provide data linkintegrity information. The network device may provide the data linkintegrity information to the transmitting network device, whetherdirectly and/or indirectly.

In various examples, this example method 300 may be implemented as agroup of interrelated software modules or components that performvarious functions discussed herein. These software modules or componentsmay be executed within a cloud network and/or by one or more computingdevices, such as the receiving network device 102 and/or one or more ofthe intermediate network devices A-E 103A-103E of FIG. 1 .

Although the example method 300 is illustrated and described asincluding particular operations performed in a particular order, it isunderstood that this is an example. In various implementations, variousorders of the same, similar, and/or different operations may beperformed without departing from the scope of the present disclosure.

For example, the method 300 is illustrated and described as proceedingto operation 340 and ending when an error is not detected in the networkdata unit at operation 320. However, it is understood that this is anexample. In some implementations, the flow may instead proceed to adetermination of whether another network data unit is received. Variousconfigurations are possible and contemplated without departing from thescope of the present disclosure.

By way of another illustration, FIG. 4 depicts a flow chart illustratinga third example method 400 for data link error feedback signaling. Thismethod 400 may be performed by the system 100 of FIG. 1 .

At operation 410, a network device (such as the transmitting networkdevice 101 and/or one or more of the intermediate network devices A-E103A-103E of FIG. 1 ) may transmit a network data unit to a receivingnetwork device (such as the receiving network device 102 and/or one ormore of the intermediate network devices A-E 103A-103E of FIG. 1 ). Thenetwork device may transmit the network data unit to the receivingnetwork device over a data link. At operation 420, the network devicemay determine whether or not data link integrity information is receivedfrom the receiving network device. Such data link integrity informationmay include information related to one or more detected network dataunit errors, flawed data links, and so on. If not, the flow may proceedto operation 450 and end. Otherwise, the flow may proceed to operation430.

At operation 430, after the network device determines that data linkintegrity information is received from the receiving network device, thenetwork device may determine whether or not to take an action. Thenetwork device may determine whether or not to take the action inresponse to the data link integrity information, such as by evaluatingwhether or not errors related to the data link integrity informationexceed an error threshold. If not, the flow may proceed to operation 450and end. Otherwise, the flow may proceed to operation 440.

At operation 440, after the network device determines to take theaction, the network device may perform the action. The action mayinclude marking the data link less preferred, marking the data linkdown, transmitting an alarm regarding the data link to a networkoperator, omitting taking an action upon determining that errors arebelow an error threshold, and so on.

In various examples, this example method 400 may be implemented as agroup of interrelated software modules or components that performvarious functions discussed herein. These software modules or componentsmay be executed within a cloud network and/or by one or more computingdevices, such as the transmitting network device 101 and/or one or moreof the intermediate network devices A-E 103A-103E of FIG. 1 .

Although the example method 400 is illustrated and described asincluding particular operations performed in a particular order, it isunderstood that this is an example. In various implementations, variousorders of the same, similar, and/or different operations may beperformed without departing from the scope of the present disclosure.

For example, the operation 430 is illustrated and described as thenetwork device determining whether or not to take the action. However,it is understood that this is an example. In some implementations, thenetwork device may take the action and omit the determination. Variousconfigurations are possible and contemplated without departing from thescope of the present disclosure.

FIG. 5 depicts example relationships among example components that maybe used to implement a data link error feedback signaling system 500.The data link error feedback signaling system 500 may be the system 100of FIG. 1 .

The data link error feedback signaling system 500 may include one ormore transmitting network devices 501 that are operable to communicatewith one or more receiving network devices 502 via one or morecommunication networks 505.

The transmitting network device 501 may be any kind of electronicdevice. Examples of such devices include, but are not limited to, one ormore desktop computing devices, laptop computing devices, servercomputing devices, mobile computing devices, tablet computing devices,set top boxes, digital video recorders, televisions, displays, wearabledevices, smart phones, set top boxes, digital media players, and so on.The transmitting network device 501 may include one or more processors506 and/or other processing units and/or controllers, one or morenon-transitory storage media 507 (which may take the form of, but is notlimited to, a magnetic storage medium; optical storage medium;magneto-optical storage medium; read only memory; random access memory;erasable programmable memory; flash memory; and so on), one or morecommunication units 508, and/or other components. The processor 506 mayexecute instructions stored in the non-transitory storage medium 507 toperform various functions. Such functions may include transmitting oneor more network data units to the receiving network device 502 using thecommunication unit 508, receiving data link integrity information fromthe receiving network device 502 using the communication unit 508,taking one or more actions in response to the data link integrityinformation, determining whether or not to take one or more actions inresponse to the data link integrity information, and so on.

Similarly, the receiving network device 502 may be any kind ofelectronic device. The receiving network device 502 may also include oneor more processors 509 and/or other processing units and/or controllers,one or more non-transitory storage media 510, one or more communicationunits 511, and/or other components. The processor 509 may executeinstructions stored in the non-transitory storage medium 510 to performvarious functions. Such functions may include receiving one or morenetwork data units from the transmitting network device 501 using thecommunication unit 511, detecting one or more errors in the one or morenetwork data units, determining one or more flaws in one or more datalinks based on the errors, providing data link integrity information tothe transmitting network device 501 using the communication unit 511,and so on.

The communication network 505 may include one or more data links,intermediate network devices, and so on that may communicably connectthe transmitting network device 501 and the receiving network device502. The communication network 505 may be an internet protocol network,an Ethernet network, and/or any other kind of network.

Although FIG. 5 is illustrated and described as including particularcomponents arranged in a particular configuration, it is understood thatthis is an example. In a number of implementations, variousconfigurations of various components may be used without departing fromthe scope of the present disclosure.

For example, the transmitting network device 501 and the receivingnetwork device 502 are illustrated as separate from, but communicablyconnected via, the communication network 505. However, it is understoodthat this is an example. In some implementations, the transmittingnetwork device 501 and/or the receiving network device 502 may berouters, hubs, switches, and/or other components of the communicationnetwork 505. Various configurations are possible and contemplatedwithout departing from the scope of the present disclosure.

In various implementations, a data link error feedback signaling systemmay include a transmitting network device and a receiving networkdevice. The receiving network device may be operable to receive anetwork data unit from the transmitting network device over a data link,detect an error in the network data unit, and provide data linkintegrity information based on the error to the transmitting networkdevice. The transmitting network device may respond to the data linkintegrity information.

In some examples, the receiving network device may provide the data linkintegrity information by at least one of marking the data link flawed ina routing protocol or transmitting the data link integrity informationvia an informational protocol. In a number of examples, the transmittingnetwork device may respond to the data link integrity information by atleast one of marking the data link less preferred, marking the data linkdown, transmitting an alarm regarding the data link to a networkoperator, or omitting taking an action upon determining that errors arebelow an error threshold. In various examples, the receiving networkdevice may detect the error using at least one of a cyclic redundancycheck or a checksum. In a number of examples, at least one of thereceiving network device or the transmitting network device may be arouter.

In some implementations, a receiving network device may include acommunication unit, a non-transitory storage medium that storesinstructions, and a processor. The processor may execute theinstructions to receive a network data unit from a transmitting networkdevice over a data link, detect an error in the network data unit, andprovide data link integrity information based on the error to thetransmitting network device.

In various examples, the processor may determine that the data link isflawed based on the error. In some examples, the processor may detectthe error by performing a cyclic redundancy check on the network dataunit. In a number of examples, the processor may detect the error byevaluating a checksum of the network data unit.

In some examples, the processor may provide the data link integrityinformation by marking the data link flawed in a routing protocol. Invarious such examples, the routing protocol may be at least one of anopen shortest path first protocol, a border gateway protocol, or abidirectional forwarding detection protocol.

In a number of examples, the processor may provide the data linkintegrity information via an informational protocol. In some suchexamples, the informational protocol may be a link layer discoveryprotocol.

In various examples, the processor may provide the data link integrityinformation as part of an aggregate of data corresponding to multiplenetwork data unit errors.

In a number of implementations, a transmitting network device mayinclude a communication unit, a non-transitory storage medium thatstores instructions, and a processor. The processor may execute theinstructions to transmit a network data unit to a receiving networkdevice over a data link, receive data link integrity information fromthe receiving network device based on an error detected in the networkdata unit by the receiving network device, and respond to the data linkintegrity information.

In various examples, the processor may respond to the data linkintegrity information by taking an action. In some such examples, theaction may include marking the data link less preferred. In a number ofsuch examples, the action may include marking the data link down.

In some examples, the processor may respond to the data link integrityinformation by transmitting an alarm regarding the data link to anetwork operator. In various examples, the processor may respond to thedata link integrity information by, when an error threshold is exceeded,performing an action and, when the error threshold is not exceeded, omitperforming the action.

As described above and illustrated in the accompanying figures, thepresent disclosure relates to data link error feedback signaling. A datalink error feedback signaling system includes a transmitting networkdevice and a receiving network device. The receiving network device maybe operable to receive a network data unit from the transmitting networkdevice over a data link, detect an error in the network data unit, andprovide data link integrity information based on the error to thetransmitting network device. The receiving network device may providethe data link integrity information by marking the data link flawed in arouting protocol, transmitting the data link integrity information viaan informational protocol, and so on. The transmitting network devicemay respond to the data link integrity information, such as by markingthe data link less preferred, marking the data link down, transmittingan alarm regarding the data link to a network operator, omitting takingan action upon determining that errors are below an error threshold, andso on.

In the present disclosure, the methods disclosed may be implemented assets of instructions or software readable by a device. Further, it isunderstood that the specific order or hierarchy of steps in the methodsdisclosed are examples of sample approaches. In other embodiments, thespecific order or hierarchy of steps in the method can be rearrangedwhile remaining within the disclosed subject matter. The accompanyingmethod claims present elements of the various steps in a sample order,and are not necessarily meant to be limited to the specific order orhierarchy presented.

The described disclosure may be provided as a computer program product,or software, that may include a non-transitory machine-readable mediumhaving stored thereon instructions, which may be used to program acomputer system (or other electronic devices) to perform a processaccording to the present disclosure. A non-transitory machine-readablemedium includes any mechanism for storing information in a form (e.g.,software, processing application) readable by a machine (e.g., acomputer). The non-transitory machine-readable medium may take the formof, but is not limited to, a magnetic storage medium (e.g., floppydiskette, video cassette, and so on); optical storage medium (e.g.,CD-ROM); magneto-optical storage medium; read only memory (ROM); randomaccess memory (RAM); erasable programmable memory (e.g., EPROM andEEPROM); flash memory; and so on.

The foregoing description, for purposes of explanation, used specificnomenclature to provide a thorough understanding of the describedembodiments. However, it will be apparent to one skilled in the art thatthe specific details are not required in order to practice the describedembodiments. Thus, the foregoing descriptions of the specificembodiments described herein are presented for purposes of illustrationand description. They are not targeted to be exhaustive or to limit theembodiments to the precise forms disclosed. It will be apparent to oneof ordinary skill in the art that many modifications and variations arepossible in view of the above teachings.

What is claimed is:
 1. A system, comprising: a first network device; anda second network device that provides data link integrity informationbased on at least one error in at least one network data unit receivedover a data link, the at least one network data unit transmitted by thefirst network device, the data link integrity information describing theat least one error; wherein the first network device determines whetherto mark the data link less preferred, mark the data link down, or omitperforming an action according to a severity of the at least one error.2. The system of claim 1, wherein the first network device reevaluatesthe data link at a subsequent time.
 3. The system of claim 2, whereinthe first network device reevaluates the data link at the subsequenttime according to additional data link integrity information provided bythe second network device.
 4. The system of claim 1, wherein the firstnetwork device receives the data link integrity information from thesecond network device.
 5. The system of claim 1, wherein the data linkdirectly connects the first network device and the second networkdevice.
 6. The system of claim 1, wherein the second network deviceevaluates the at least one network data unit to determine presence ofthe at least one error.
 7. The system of claim 1, wherein the firstnetwork device compares the severity to at least one threshold.
 8. Thesystem of claim 1, wherein the data link integrity information specifiesa severity threshold of the at least one error.
 9. The system of claim1, wherein at least one of the first network device or the secondnetwork device comprises a router.
 10. A transmitting network device,comprising, a communication unit; a non-transitory storage medium thatstores instructions; and a processor that executes the instructions to:receive data link integrity information generated by a receiving networkdevice based on at least one error detected in at least one network dataunit transmitted over a data link, the data link integrity informationdescribing the at least one error; and determine whether to mark thedata link less preferred, mark the data link down, or omit performing anaction according to a severity of the at least one error.
 11. Thetransmitting network device of claim 10, wherein the processordetermines whether to mark the data link less preferred or down when itis determined that the at least one error is caused by the data link.12. The transmitting network device of claim 10, wherein the processordetermines to omit performing the action when it is determined that theat least one error is not caused by the data link.
 13. The transmittingnetwork device of claim 10, wherein the processor determines whether theat least one error is caused by the data link.
 14. The transmittingnetwork device of claim 10, wherein: the data link is a first data link;and the processor receives the data link integrity information via asecond data link.
 15. The transmitting network device of claim 10,wherein the processor is operable to mark the data link up after markingthe data link down.
 16. The system of claim 1, wherein the secondnetwork device provides the data link integrity information to the firstnetwork device via at least one other device.
 17. The system of claim 1,wherein the severity of the at least one error is described in the datalink integrity information.
 18. The system of claim 1, wherein theseverity of the at least one error corresponds to at least one of acyclic redundancy check threshold or a checksum threshold.
 19. Thetransmitting network device of claim 10, wherein the processor furtherdetermines whether to transmit an alert according to the severity of theat least one error.
 20. The transmitting network device of claim 10,wherein the transmitting network device comprises a router.